package demoPolymorphism3;
/*
* 向上转型一定是安全的，但是也有一个弊端：
* 对象一旦向上转型为父类，那么就无法调用子类原本特有的内容。
* 解决方法：用对象的向下转型【还原】
* */
public class DemoMain {
    public static void main(String[] args) {
//        对象的向上转型其实就是 父类引用，指向子类对象。
        Animal animal =new Cat();//本来创建的时候是一只猫
        animal.eat();//猫吃鱼

//        animal.catchMouse();//错误写法

        //向下转型，进行“还原”动作
        Cat cat =(Cat) animal;
        cat.catchMouse();

        Dog dog =(Dog) animal;
        dog.catchHouse();//ClassCastException 报错
    }
}
